package cn.zhqr.core.interceptor.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface CacheStatement {
    /**
     * 缓存key，支持动态参数，可根据规则任意组合
     * 1. 【query参数或者post参数】 格式为"{参数名}"，运行时将替换为实际参数的值
     * 2. 【urlPara(url参数)】 格式为"{url_param下标}"，运行时将替换为实际urlPara。"{url_para}"表示整个urlPara.
     *      /api/person/cn_beijing_128   {url_para}表示"cn_beijing_128"，{url_para0}表示"cn"，{url_para1}表示"beijing"，{url_para0}表示"128"
     * 3. 【系统内置参数】 {action_key}表示完整的请求路径 ；{param_digest}表示参数md5摘要
     * @return
     */
    String key() default "";

    /**
     * 过期时间，单位秒
     * @return
     */
    int expire() default 0;
}




